home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / bbstools / WWIV Mods / WWIVMOD.ZIP / WFCMOD.MOD < prev    next >
Encoding:
Text File  |  1992-12-09  |  22.6 KB  |  668 lines

  1. MODLNK04 -- WFCMOD.TXT
  2. This is Doorman's WFC mod in two parts.  The second is an add-on to the first 
  3. and, far as I can tell, the first will work without the second...
  4. -=><=-
  5. ══════════════════════════════════════════════════════════════════════════════
  6.  
  7. The Doorman #67 @18858
  8. Sun Dec 29 14:14:29 1991
  9. Yes you guessed it, another waiting for call mod.  This mod isn't
  10. quite finished, but I've been asked to release it.  It adds some
  11. stuff I hadn't seen in other WFC mods.  Mainly, most WFC mods only
  12. print the information when the caller logs off; not with this one,
  13. it continues to update while waiting for a call.  To do this, I had
  14. to implement some direct memory screen writes.
  15.  
  16. It has been tested on both monicrome and VGA monitors and works fine.
  17. The screen blanker(yes, it blanks the screen after 5 minutes!!!) is
  18. quite simple and you can change it as you like.
  19.  
  20. About the writer..I'm currently 21 and been programming for about
  21. 6 years.  I attend The College of Charleston in Charleston, SC where
  22. I am majoring in Computer Science with minors in Math(if I can pass
  23. Calculus 3!) and Physics; and I would like to thank wayne for writing
  24. this BBS so I could learn C.
  25.  
  26. Ok, about the mod now; it is very simple, just add the functions where
  27. it says to, and then where it says + add those lines where it says! The
  28. rest should be commented well enough to help you.
  29.  
  30. -----------------------------------------------------------------
  31. I believe that you need to add 
  32.   #include <conio.h>
  33. to your BBS.C.  It has to be the one which has the _setcursor and
  34. NOCURSOR within it.
  35. -----------------------------------------------------------------
  36. In the Externs add:
  37. extern int num_call_sys,num_ncn;
  38. extern net_cotact_rec *ncn;
  39. extern net_call_out_rec *con;
  40. -----------------------------------------------------------------
  41. Just cut and paste in the following functions into BBS.C before
  42. getcaller:
  43.         vmode,my_putchar,my_printf,printstatus,do_wfc
  44. -----------------------------------------------------------------
  45. int VSEG;
  46. void vmode()
  47. /*
  48.   This function sets the global variable VSEG to the proper
  49.   setting for monicrome or non-monicrome(CGA,EGA,VGA,etc..)
  50. */
  51. {
  52.   static union REGS rg;
  53.  
  54.   rg.h.ah = 15;
  55.   int86(16,&rg,&rg);
  56.   VSEG = (rg.h.al == 7 ? 0xb000 : 0xb800);
  57. }
  58.  
  59. void my_putchar(int ch,int x,int y)
  60. /*
  61.   This function puts the character ch directly into the video
  62.   memory at locations x and y
  63. */
  64. {
  65.   int vch;
  66.  
  67.   vch = (ch&255)|(WHITE<<8);
  68.   poke(VSEG,((y)*160+(x)*2),vch);
  69. }
  70.  
  71. void my_printf(char *string,...)
  72. /*
  73.   My_printf works just like printf, except it prints each
  74.   character with my_putchar using direct screen writes
  75. */
  76. {
  77.   char line[100],*dline = line;
  78.   int x=wherex(),y=wherey();
  79.  
  80.   va_list ap;
  81.   va_start(ap,string);
  82.   vsprintf(line,string,ap);
  83.   va_end(ap);
  84.   while (*dline)
  85.     my_putchar(*dline++,x++,y);
  86. }
  87.  
  88. void printstatus(char *string)
  89. /*
  90.   Printstatus is just the beginning to be added to further in
  91.   the future.  It takes the string sent to it, and prints it
  92.   on a "status-line" on line 21.  This function will be used
  93.   further in the future described at the bottom of the mod.
  94. */
  95. {
  96.   char printstring[35];
  97.   int counter;
  98.  
  99.   strncpy(printstring,string,34);
  100.   while ((int)strlen(printstring) < 34)
  101.     strcat(printstring," ");
  102.   gotoxy(23,24);
  103.   my_printf(printstring);
  104. }
  105.  
  106. int x=1,y=1,forward=1,down=1,printlocal,thisnet=0;
  107. time_t lastcall,timelast;
  108. void do_wfc(int printinfo)
  109. /*
  110.   Yes you guessed it, this is the heart of the mod.  It prints
  111.   all information to go in the mod.
  112. */
  113. {
  114.   char string[255],ch,s1[81];
  115.   int h,m,s,am=1,i1,i2;
  116.   long l1;
  117.   double t;
  118.   time_t timenow;
  119.   net_system_list_rec *csne;
  120.   
  121.   if (printinfo)                /* If the screen is blanked or not */
  122.   {
  123.     gotoxy(7,2);
  124.     my_printf(date());
  125.     gotoxy(40-((int)strlen(syscfg.systemname)/2),2);
  126.     my_printf(syscfg.systemname);
  127.     t=timer();
  128.     h=(int) (t/3600.0);
  129.     t-=((double) (h)) * 3600.0;
  130.     m=(int) (t/60.0);
  131.     t-=((double) (m)) * 60.0;
  132.     if (h==0)
  133.       h = 12;
  134.     if (h>12)
  135.     {
  136.       h -= 12;
  137.       am = 0;
  138.     }
  139.     gotoxy(66,2);sprintf(string,"%02d:%02d %s",h,m,(am) ? "am" : "pm");my_printf(string);
  140.     /* Board Statistics */
  141.     gotoxy(30,6);sprintf(string,"%4d(%4d)",status.users,syscfg.maxusers-status.users);my_printf(string);
  142.     gotoxy(30,8);sprintf(string,"%10d",status.callernum1);my_printf(string);
  143.     gotoxy(30,10);my_printf(VERSION_NUMBER);
  144.     gotoxy(30,12);sprintf(string,"%s",(sysop2()) ? "Available" : "Not      ");my_printf(string);
  145.     gotoxy(30,14);sprintf(string,"%s",(syscfg.closedsystem) ? "Closed" : "Open  ");my_printf(string);
  146.     gotoxy(30,16);
  147.     time(&timenow);
  148.     t = difftime(timenow,lastcall);
  149.     h=(int) (t/3600.0);
  150.     t-=((double) (h)) * 3600.0;
  151.     m=(int) (t/60.0);
  152.     t-=((double) (m)) * 60.0;
  153.     s=(int)t;
  154.     sprintf(string,"%02d:%02d:%02d",h,m,s);
  155.     my_printf(string);
  156.     gotoxy(30,18);
  157.     if (syscfg.executetime)
  158.     {
  159.       t = (double)(syscfg.executetime*60) - timer();
  160.       if (t<0.0)
  161.         t+=24.0*3600.0;
  162.       h=(int) (t/3600.0);
  163.       t-=((double) (h)) * 3600.0;
  164.       m=(int) (t/60.0);
  165.       t-=((double) (m)) * 60.0;
  166.       s=(int)t;
  167.       sprintf(string,"%02d:%02d:%02d",h,m,s);
  168.     }
  169.     else
  170.       sprintf(string,"No Event");
  171.     my_printf(string);
  172.  
  173.     /*Daily Status*/
  174.     gotoxy(62,6);sprintf(string,"%5d",status.callstoday);my_printf(string);
  175.     gotoxy(62,8);sprintf(string,"%5d",status.msgposttoday);my_printf(string);
  176.     gotoxy(62,10);sprintf(string,"%5d",status.emailtoday);my_printf(string);
  177.     gotoxy(62,12);sprintf(string,"%5d",fwaiting);my_printf(string);
  178.     gotoxy(62,14);sprintf(string,"%5d",status.uptoday);my_printf(string);
  179.     gotoxy(62,16);sprintf(string,"%5d",status.activetoday);my_printf(string);
  180.     gotoxy(62,18);
  181.     if ((int)timer() != 0)
  182.       sprintf(string,"%5.2f",100.00*((float)status.activetoday)/((float)timer()/60.00));
  183.     else
  184.       sprintf(string,"00.00");
  185.     my_printf(string);
  186.     /* Print Network Information */
  187.     /* Alternate system to print every 5 seconds */
  188.     if ((int)difftime(timenow,timelast) >= 5)
  189.     {
  190.       i2=-1;
  191.       while (i2 == -1)
  192.       {
  193.         thisnet = (thisnet < num_ncn) ? thisnet+1 : 0;
  194.         csne=next_system(ncn[thisnet].systemnumber);
  195.         i2=-1;
  196.         for (i1=0;i1<num_call_sys;i1++)
  197.           if (con[i1].sysnum==ncn[thisnet].systemnumber)
  198.             i2=i1;
  199.       }
  200.       time(&timelast);
  201.       if (ok_to_call(i2))
  202.         ch='*';
  203.       else
  204.         ch=' ';
  205.       if (ncn[thisnet].lastcontact)
  206.       {
  207.         l1=timenow-ncn[thisnet].lastcontact;
  208.         s=l1%60;l1=(l1-s)/60;
  209.         m=l1%60;
  210.         h=l1/60;
  211.         sprintf(s1,"%02d:%02d:%02d",h,m,s);
  212.       }
  213.       else
  214.         sprintf(s1," -NEVER-");
  215.       gotoxy(7,22);
  216.       sprintf(string,"%5d%c│%-30.30s│%-12.12s│%7ld│%8s",
  217.               ncn[thisnet].systemnumber, ch, csne->name, csne->phone,
  218.               ncn[thisnet].bytes_waiting,s1);
  219.       my_printf(string);
  220.     }
  221.     printstatus("Waiting for Call");
  222.   }
  223.   else                                  /* Else blank the screen */
  224.   {
  225.     gotoxy(x,y);
  226.     my_printf("    ");                  /* clear the previous message */
  227.     if (forward)
  228.       x++;
  229.     else
  230.       x--;
  231.     if (down)
  232.       y++;
  233.     else
  234.       y--;
  235.     gotoxy(x,y);
  236.     if (forward && x > 75)
  237.       forward = 0;
  238.     else if (!forward && x < 2)
  239.       forward = 1;
  240.     if (down && y > 23)
  241.       down = 0;
  242.     else if (!down && y < 2)
  243.       down = 1;
  244.     my_printf("WWIV");                  /* Change it to what you want */
  245.   }
  246. }
  247.  
  248. ----------------------------------------------------------------------
  249. Now, change the following places in getcaller:
  250. + : add something
  251. = : find this line
  252. ----------------------------------------------------------------------
  253.  
  254. void getcaller()
  255. {
  256.   char s[81],s1[81],ch,done,lokb;
  257. +  int i,i1,i2,i3,printinfo=1;  /*Add printinfo*/
  258.   double d,d1;
  259.   long l,l1;
  260. +  time_t starttime,timenow;    /*add this entire line*/
  261.  
  262. = d-=floor(d);
  263. = d*=10000.0;
  264. = srand((unsigned int)d);
  265. +  _setcursortype(_NOCURSOR);
  266. +  time(&starttime);
  267. +  sprintf(s,"%swfc.com",syscfg.gfilesdir);
  268. +  if (!access(s,00))
  269. +    run_external(s);
  270. +  else
  271. +  {
  272. +    clrscr();
  273. +    printfile("wfc");
  274. +  }
  275. =  do {
  276. +    time(&timenow);
  277. +    if ((int)difftime(timenow,starttime) > (5*60))
  278. +    {
  279. +      clrscr();
  280. +      printinfo = 0;
  281. +    }
  282. +       /* I never liked having to wait until after the user
  283. +          logged on for the daily maintance.  This will run
  284. +          it as soon as the day changes */
  285. +    if (strcmp(date(),status.date1) != 0)
  286. +    {
  287. +      printstatus("Running Maintance");
  288. +      beginday();
  289. +    }
  290. =    wfc=1;
  291. +    printlocal=1;
  292.  
  293.  
  294. =    if (do_event)
  295. =    {
  296. =      run_event();
  297. +      sprintf(s,"%swfc.com",syscfg.gfilesdir);
  298. +      if (!access(s,00))
  299. +       run_external(s);
  300. +      else
  301. +      {
  302. +       clrscr();
  303. +       printfile("wfc");
  304. +      }
  305. =    }
  306. =    lokb=0;
  307. =    strcpy(curspeed,"KB");
  308. =    if (((rand() % 8000)==0) && (syscfg.systemnumber) && (ok_modem_stuff))
  309. =    {
  310. +     clrscr();
  311. =      attempt_callout();
  312. +      sprintf(s,"%swfc.com",syscfg.gfilesdir);
  313. +      if (!access(s,00))
  314. +       run_external(s);
  315. +      else
  316. +      {
  317. +       clrscr();
  318. +       printfile("wfc");
  319. +      }
  320. =    }
  321. =    okskey=0;
  322. =    ch=upcase(inkey());
  323. =    if (ch) {
  324. +      _setcursortype(_NORMALCURSOR);
  325. +      printlocal=0;
  326. +      printinfo=1;
  327. +      clrscr();
  328.         .
  329.         .
  330.         .
  331. =      if (!incom) {
  332. =        frequent_init();
  333. =        read_user(1,&thisuser);
  334. =        fwaiting=thisuser.waiting;
  335. =       usernum=1;
  336. +       if (!lokb)
  337. +       {
  338. +          sprintf(s,"%swfc.com",syscfg.gfilesdir);
  339. +          if (!access(s,00))
  340. +            run_external(s);
  341. +          else
  342. +          {
  343. +           clrscr();           /**/
  344. +           printfile("wfc");
  345. +          }
  346. +         _setcursortype(_NOCURSOR);
  347. +         time(&starttime);
  348. +         printlocal=1;
  349. +       }
  350.  
  351. /* This is the else from if ch=inkey() above */
  352. +    else
  353. +      do_wfc(printinfo);
  354.         .
  355.         .
  356.         .
  357.         /* I just commented out the out1ch(12) which just blanks the
  358.            screen */
  359.         if (!incom) {
  360. /*          out1ch(12);*/
  361.           imodem();
  362.         .
  363.         .
  364.     }
  365. =  } while ((!incom) && (!lokb) && (!endday));
  366. +  clrscr();
  367. +  _setcursortype(_NORMALCURSOR);
  368. =  using_modem=incom;
  369. =  if (lokb==2)
  370. =    using_modem=-1;
  371. =  okskey=1;
  372. =  if (!endday) {
  373. +    sprintf(s,"Logging on at %s...",curspeed);/*Removed \x0c...\r\n*/
  374. =    outs(s);
  375. =  }
  376. +  printlocal=0;
  377. =  wfc=0;
  378. =}
  379. --------------------------------------------------------------
  380. Change the following lines in imodem in BBS.C
  381.  
  382. =  if (!ok_modem_stuff) {
  383. /*    outs("\x0c");*/   /* Just comment out the outs("\x0c");
  384.                            it just blanks the screen */
  385. =    return;
  386. =  }
  387. +/*  outs("\x0cWaiting...");*/outs("Waiting..."); /* Replace first
  388.                                                      with second */
  389. =  rts(1);
  390. =  dtr(1);
  391.         /* At end of function comment out or remove the following line */
  392. /*  outs("\x0c");*/
  393. =  wait1(2);
  394. }
  395. --------------------------------------------------------------
  396. Change the following lines in gotcaller in BBS.C
  397.  
  398.   sprintf(s,"Logging on at %s...",curspeed);/*Removed \x0c..\r\n*/
  399. =  outs(s);
  400. =  using_modem=1;
  401. --------------------------------------------------------------
  402. Add the following lines to main in BBS.C
  403.  
  404. =  init(1);
  405. +  vmode();
  406. +  time(&lastcall);
  407. +  time(&timelast);
  408. +  timelast-=(long)10;
  409.         .
  410.         .
  411.         .
  412. =          mainmenu();
  413. =      }
  414. =      logoff();
  415. +      time(&lastcall);
  416. =    }
  417. --------------------------------------------------------------
  418. Add to CONIO.C
  419.  
  420. at the end of the extern add:
  421. extern int printlocal;
  422.  
  423. =void outs(char *s)
  424. =/* This (obviously) outputs a string TO THE SCREEN ONLY */
  425. ={
  426. =  int i;
  427. =  char ch;
  428. =
  429. +  if (printlocal)              /*MOD*/
  430. +    printstatus(s);
  431. =  else
  432. =    for (i=0; s[i]!=0; i++) {
  433. --------------------------------------------------------------
  434. Here is the WFC.MSG that I use.  You can also take any ansi editor which
  435. will allow you to save it as an executable and do that.
  436. --------------------------------------------------------------
  437.      ┌────────┬─────────────────────────────────────────────────┬────────┐
  438.      │        │                                                 │        │
  439.      └──────┬─┴────────────────────────╥────────────────────────┴─┬──────┘
  440.             │BBS Statistics            ║Total for Today           │
  441.             ├───────────────┬──────────╫────────────────────┬─────┤
  442.             │# Users(Left)  │          ║Calls               │     │
  443.             ├───────────────┼──────────╫────────────────────┼─────┤
  444.             │# Calls        │          ║Messages Posted     │     │
  445.             ├───────────────┼──────────╫────────────────────┼─────┤
  446.             │WWIV Version # │          ║Email Sent          │     │
  447.             ├───────────────┼──────────╫────────────────────┼─────┤
  448.             │Sysop          │          ║Feedback Waiting    │     │
  449.             ├───────────────┼──────────╫────────────────────┼─────┤
  450.             │Board          │          ║Uploads             │     │
  451.             ├───────────────┼──────────╫────────────────────┼─────┤
  452.             │Time since call│          ║Minutes Users Online│     │
  453.             ├───────────────┼──────────╫────────────────────┼─────┤
  454.             │Time Til Event │          ║% Active Today      │     │
  455.      ┌──────┼───────────────┴──────────╨───┬────────────┬───┴───┬─┴──────┐
  456.      │Node *│System Name                   │Phone       │ Bytes │Last Con│
  457.      ╞══════╪══════════════════════════════╪════════════╪═══════╪════════╡
  458.      │      │                              │            │       │        │
  459.      ╘══════╧════════╤═════════════════════╧════════════╧╤══════╧════════╛
  460.                      │                                   │
  461.                      └───────────────────────────────────┘
  462. ---------------------------------------------------------------
  463. From there on, just hit F9.  But I'd suggest using the Make.
  464. If you don't use make, you might want to consider it; you can
  465. put your BBS files in a seperate directory from TC, get output
  466. in a different directory, and your executables in yet another one.
  467. Not to mention that it (I believe) is a 2-pass compiler(TCC) and
  468. it will optomize your code better.
  469.  
  470. Now for the future of this mod, I plan on eventually making it so
  471. it will keep the WFC info in the screen while a caller is online
  472. and allow the SYSOP to press a key and then see what is being printed,
  473. while having the bottom box(see next message) show what the user
  474. is currently doing.
  475.  
  476. I tried to remember everything I had changed, but knowing me I may have
  477. forgotten something.  If I did, I can be reached at 1@8301 or
  478. call my BBS "The Thieves Market" at 803-723-7254 300-14400b and I
  479. autovalidate ANY-Sysop.
  480.  
  481. Or if you feel like waisting money, you can call me at my voice line:
  482.         803-853-7632
  483.         Ask for David
  484.  
  485. I can't think of anything else to say, except the normal disclammer that
  486. It has been tested on my BBS, with no problems, but I take no responsability
  487. to what it does to you, your computer, your mother, your mothers blue hair
  488. or any non mentioned items.  But I am willing to help with any sort of
  489. problems you may have.
  490.  
  491. PS, where I took out all the 0xc and \n\r lines, that was to make it
  492. look prettier(ie not blank the screen and mess up how it looks).  That
  493. may be what I forgot, some 0xc someplace and it blanks the screen.
  494.  
  495. ──────────────────────────────────────────────────────────────────────────────
  496.  
  497. The Doorman #67 @18858
  498. Sun Dec 29 14:15:42 1991
  499. For those of you who have used my WFC modification, here is an 
  500. update to it to support network information.  It will not only 
  501. print the old information, but it will now print network pending
  502. info.  It will change between different connections every 5 
  503. seconds.  Enjoy and good luck.
  504.  
  505. -----------------------------------------------------------------
  506. (PS This is an addition to my WFC MOD, if you don't have my WFC
  507. MOD installed DON'T use this, it will only cause errors.  Get
  508. a copy of my WFC MOD and try it!)
  509. -----------------------------------------------------------------
  510.  
  511. In the Externs of BBS.C add:
  512. extern int num_call_sys,num_ncn;
  513. extern net_cotact_rec *ncn;
  514. extern net_call_out_rec *con;
  515.  
  516. ------------------------------------------------------------------
  517. In the print_status function change the line:
  518.    gotoxy(23,21); 
  519. to
  520.    gotoxy(23,24);
  521. ------------------------------------------------------------------
  522. Before the do_wfc function add the variables:
  523. = int x=1,y=1,.....thisnet=0;/*Add thisnet*/
  524. = time_t lastcall,timelast;/*Add timelast*/
  525. ------------------------------------------------------------------
  526. In do_wfc change all the y coordinates in the gotoxy(x,y) function.
  527. Subtract 1 from all the y's.
  528.  
  529. ex:
  530.   OLD:
  531.     /* Board Statistics */
  532. =    gotoxy(30,7);sprintf(string,"%4d(%4d)",status.users,syscfg.maxusers-status.users);my_printf(string);
  533. =    gotoxy(30,9);sprintf(string,"%10d",status.callernum1);my_printf(string);
  534. =    gotoxy(30,11);my_printf(VERSION_NUMBER);
  535.  
  536.   NEW:
  537.     /* Board Statistics */
  538. +    gotoxy(30,6);sprintf(string,"%4d(%4d)",status.users,syscfg.maxusers-status.users);my_printf(string);
  539. +    gotoxy(30,8);sprintf(string,"%10d",status.callernum1);my_printf(string);
  540. +    gotoxy(30,10);my_printf(VERSION_NUMBER);
  541.  
  542.  
  543. Add the following information:
  544. =    if ((int)timer() != 0)
  545. =      sprintf(string,"%5.2f",100.00*((float)status.activetoday)/((float)timer()/60.00));
  546. =    else
  547. =      sprintf(string,"00.00");
  548. =    my_printf(string);
  549. /* Add the next few lines */
  550.     /* Print Network Information */
  551.     /* Alternate system to print every 5 seconds */
  552.     if ((int)difftime(timenow,timelast) >= 5)
  553.     {
  554.       i2=-1;
  555.       while (i2 == -1)
  556.       {
  557.         thisnet = (thisnet < num_ncn) ? thisnet+1 : 0;
  558.         csne=next_system(ncn[thisnet].systemnumber);
  559.         i2=-1;
  560.         for (i1=0;i1<num_call_sys;i1++)
  561.           if (con[i1].sysnum==ncn[thisnet].systemnumber)
  562.             i2=i1;
  563.       }
  564.       time(&timelast);
  565.       if (ok_to_call(i2))
  566.         ch='*';
  567.       else
  568.         ch=' ';
  569.       if (ncn[thisnet].lastcontact)
  570.       {
  571.         l1=timenow-ncn[thisnet].lastcontact;
  572.         s=l1%60;l1=(l1-s)/60;
  573.         m=l1%60;
  574.         h=l1/60;
  575.         sprintf(s1,"%02d:%02d:%02d",h,m,s);
  576.       }
  577.       else
  578.         sprintf(s1," -NEVER-");
  579.       gotoxy(7,22);
  580.       sprintf(string,"%5d%c│%-30.30s│%-12.12s│%7ld│%8s",
  581.               ncn[thisnet].systemnumber, ch, csne->name, csne->phone,
  582.               ncn[thisnet].bytes_waiting,s1);
  583.       my_printf(string);
  584.     }
  585. =    printstatus("Waiting for Call");
  586.  
  587. ----------------------------------------------------------------------
  588. In the Main add:
  589. =  init(1);
  590. =  vmode();
  591. =  time(&lastcall);
  592. +  time(&timelast);
  593. +  timelast-=(long)10;
  594.         .
  595.         .
  596.         .
  597. =          mainmenu();
  598. ------------------------------------------------------------------------
  599. And here is the Modified WFC.MSG to support the network information:
  600. ------------------------------------------------------------------------
  601.      ┌────────┬─────────────────────────────────────────────────┬────────┐
  602.      │        │                                                 │        │
  603.      └──────┬─┴────────────────────────╥────────────────────────┴─┬──────┘
  604.             │BBS Statistics            ║Total for Today           │
  605.             ├───────────────┬──────────╫────────────────────┬─────┤
  606.             │# Users(Left)  │          ║Calls               │     │
  607.             ├───────────────┼──────────╫────────────────────┼─────┤
  608.             │# Calls        │          ║Messages Posted     │     │
  609.             ├───────────────┼──────────╫────────────────────┼─────┤
  610.             │WWIV Version # │          ║Email Sent          │     │
  611.             ├───────────────┼──────────╫────────────────────┼─────┤
  612.             │Sysop          │          ║Feedback Waiting    │     │
  613.             ├───────────────┼──────────╫────────────────────┼─────┤
  614.             │Board          │          ║Uploads             │     │
  615.             ├───────────────┼──────────╫────────────────────┼─────┤
  616.             │Time since call│          ║Minutes Users Online│     │
  617.             ├───────────────┼──────────╫────────────────────┼─────┤
  618.             │Time Til Event │          ║% Active Today      │     │
  619.      ┌──────┼───────────────┴──────────╨───┬────────────┬───┴───┬─┴──────┐
  620.      │Node *│System Name                   │Phone       │ Bytes │Last Con│
  621.      ╞══════╪══════════════════════════════╪════════════╪═══════╪════════╡
  622.      │      │                              │            │       │        │
  623.      ╘══════╧════════╤═════════════════════╧════════════╧╤══════╧════════╛
  624.                      │                                   │
  625.                      └───────────────────────────────────┘
  626.  
  627.  
  628. ------------------------------------------------------------------------
  629. From there on, just hit F9.  But I'd suggest using the Make.
  630. If you don't use make, you might want to consider it; you can
  631. put your BBS files in a seperate directory from TC, get output
  632. in a different directory, and your executables in yet another one.
  633. Not to mention that it (I believe) is a 2-pass compiler(TCC) and
  634. it will optomize your code better.
  635.  
  636. I tried to remember everything I had changed, but knowing me I may have
  637. forgotten something.  If I did, I can be reached at 1@8301 or
  638. call my BBS "The Thieves Market" at 803-723-7254 300-14400b and I
  639. autovalidate ANY-Sysop.
  640.  
  641. Or if you feel like waisting money, you can call me at my voice line:
  642.         803-853-7632
  643.         Ask for David
  644.  
  645. I can't think of anything else to say, except the normal disclammer that
  646. It has been tested on my BBS, with no problems, but I take no responsability
  647. to what it does to you, your computer, your mother, your mothers blue hair
  648. or any non mentioned items.  But I am willing to help with any sort of
  649. problems you may have.
  650.  
  651. ──────────────────────────────────────────────────────────────────────────────
  652.  
  653. The Doorman #67 @18858
  654. Sun Jan 26 23:05:48 1992
  655. For those who decided to use my WFC mod since I added the network stuff, I
  656. forgot to add the stuff which would not print network information if you aren't
  657. in the network.
  658.  
  659. A quick fix would be to add:
  660.   if ((int)difftim(timenow,timelast) >= 5 && syscfg.systemnumber)
  661.  
  662. the && syscfg.systemnumber to the line above.  It would be in the do_wfc()
  663. I've made a little change to speed it up, but I'll post that later when I get
  664. the status for the network to include the above better.
  665.  
  666. Thanks
  667.                          3The Doorman5///
  668.